package com.ftg.learn.chapter04;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 试题
 *
 * @author lijiaxin
 * @version 1.0
 * @date 2023/6/10 9:30
 */

public class Test01 {

    public static void QuestionOne01(){
        /**
         * 定义四个整数，将它们互相替换例如：
         * i=1;j=2;a=3,b=4,要求输出i=2;j=3;a=4;b=1
         */
        int[] num={1,2,3,4};
        int sum=0;
        System.out.println(Arrays.toString(num));
        for (int i = 0; i <num.length-1 ; i++) {
            int t=num[i];
            num[i]=num[i+1];
            num[i+1]=t;
        }
//        int i=num[0];
//        int j=num[1];
//        int a=num[2];
//        int b=num[3];
//        System.out.printf("i=%d,j=%d,a=%d,b=%d",i,j,a,b);
        System.out.println(Arrays.toString(num));
    }

    public static void questionOne02() {
        int i = 1, j = 2, a = 3, b = 4;

        i = i + j + a + b;
        b = i - (j + a + b);
        i = i - (j + a + b);

        j = i + j + a + b;

        a = j - (i + a + b);
        j = j - (i + a + b);
        System.out.printf("i=%d,j=%d,a=%d,b=%d", i, j, a, b);
    }

    public static void questionOne03() {
        int i = 1, j = 2, a = 3, b = 4;
        i += 1;
        j += 1;
        a += 1;
        b = i - 1;
        System.out.printf("i=%d,j=%d,a=%d,b=%d", i, j, a, b);
    }

    private final static int TWO_MIN_VALUE=10000;
    private final static int TWO_MAX_VALUE=99999;

    public static void questionTwo01(int a){
        /**
         *  定义一个5位整数 值随意  int i=52637;
         *  打印各个位置上的数  个位值 i%10
         */

        if(a<TWO_MIN_VALUE||a>TWO_MAX_VALUE){
            throw new RuntimeException("请输入五位整数");
        }
//        System.out.printf("个位数:%d",a%10);
//        System.out.printf("十位数:%d",a/10%10);
//        System.out.printf("百位数:%d",a/100%10);
//        System.out.printf("千位数:%d",a/1000%10);
//        System.out.printf("万位数:%d",a/10000%10);
        int ten=10;
        for (int i = a,j=0; i >0 ; i/=ten) {
            System.out.printf("%s位是%d\n", getPosition(j), a / (int) Math.pow(10, j++) % 10);
        }
    }

    private static String getPosition(int i) {
        switch (i) {
            case 0:
                return "个位";
            case 1:
                return "十位";
            case 2:
                return "百位";
            case 3:
                return "千位";
            case 4:
                return "万位";
            default:
                return "十万位";
        }
    }

    public static void questionTwo02(){
        /**
         * 定义三个 int 值  输出 最大值  和 最小值
         */
        int a=91;
        int b=11;
        int c=908;
        if(a>b&&a>c){
            System.out.printf("max:%d",a);
            if(b>c){
                System.out.printf("min:%d",c);
            }else{
                System.out.printf("min:%d",b);
            }
        }else if(b>c&&b>a){
            System.out.printf("max:%d",b);
            if(c>a){
                System.out.printf("min:%d",a);
            }else{
                System.out.printf("min:%d",c);
            }
        }else{
            System.out.printf("max:%d",c);

        }
    }
    public static int questionTwo03(){
        /**
         * 定义俩个 int 变量 分别代表
         * 论坛上的 总帖数  和 每页的帖子数   求总页数
         */
        int sum=20;
        int num=14;
        return sum%num==0 ? (sum/num) : (sum/num)+1;
    }

    public static String questionTwo04(double i){
        /**
         * 电脑剪子石头布大战 : 接上题 随机生成2个int 代表 俩个电脑出的 剪子/石头/布
         *    通过判断 最终输出 举例：多种可能之一
         *    cpu1出石头 cpu2出剪子 cpu1胜利
         *    cpu1出石头 cpu2出石头 打平
         */
        switch ((int) i){
            case 1:
                return "hh";
            case 2:
                return "jd";
            case 3:
                return "bu";
            default:
                return "wu";

        }
//        System.out.printf("%s");
    }

    public static void main(String[] args) {
//        QuestionOne01();
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入一个五位数!!!");
//        int n = scanner.nextInt();
//        questionTwo02();
        questionTwo04(Math.random());
    }
}
